public class Test2 {
    public static void func2(){
        //声明会有这个异常让使用者处理
        int[] arr = {1,2,3};
        //System.out.println(arr[100]);
        throw new ArrayIndexOutOfBoundsException(arr[100]);
    }
    public static void main(String[] args){
        //此时因为是 main 方法调用，所以要在 main 方法中处理
        //使用 try-catch
        func2();

    }
    public static int func1() {
        try {
            return 10;
        } finally {
            return 100;
        }
    }
    public static void main3(String[] args) {
        System.out.println(func1());
    }
    public static int func() {
        try {

            int[] arr = null;
            System.out.println(arr[0]);
            return 1000;
        } catch (NullPointerException e) {
            System.out.println("捕获到了一个空指针异常");
            return 11;

        } finally {
            //一般用来释放资源
            System.out.println("这里执行了finally");
            /*return 10;*/
        }

    }
    public static void main1(String[] args) {
        System.out.println(func());
    }
}
